package ApplicationModels;

import java.io.Serializable;
import java.util.List;
import org.uqbar.commons.model.ObservableUtils;
import org.uqbar.commons.utils.Observable;
import Domain.Empleado;
import Domain.Tienda;

@SuppressWarnings("serial")
@Observable
public class GestionEmpleadosAppModel implements Serializable {

	private Empleado empleadoSeleccionado;
	private Tienda tienda;
	// VER SI VA O NO ////
	//private List<Empleado> empleados;
	
	
	//private ArrayList<Planificacion> planificacion = new ArrayList<Planificacion>();
	
	

//	public ArrayList<Planificacion> getPlanificacion() {
//		return planificacion;
//	}
//
//	public void setPlanificacion(ArrayList<Planificacion> planificacion) {
//		this.planificacion = planificacion;
//	}

	public Tienda getTienda() {
		return tienda;
	}

	public void setTienda(Tienda tienda) {
		this.tienda = tienda;
	}

	public Empleado getEmpleadoSeleccionado() {
		return empleadoSeleccionado;
	}

	public void setEmpleadoSeleccionado(Empleado empSeleccionado) {
		this.empleadoSeleccionado = empSeleccionado;
	}

	public List<Empleado> getEmpleados() {
		return this.getTienda().getEmpleados();
	}

	public GestionEmpleadosAppModel(Tienda t) {
		super();
		this.setTienda(t);
		//this.setPlanificacion(paa.getListaPlanificaciones());
	}

	public void eliminarEmpleadoSeleccionado() {
		this.getTienda().eliminarEmpleado(this.getEmpleadoSeleccionado());
		cambiaronLosEmpleados();
	}
	
	public void agregarEmpleadoSeleccionado(Empleado emp){
		this.getTienda().agregarEmpleado(emp);
		cambiaronLosEmpleados();
	}

	public void cambiaronLosEmpleados() {
		ObservableUtils.firePropertyChanged(this, "empleados", this.getTienda().getEmpleados());
	}
	
}
